const semver = require('semver')
const { engines } = require('./package')
const childProcess = require('child_process')

// 获取要求的node版本
let version = engines.node

// 检查node版本
if (!semver.satisfies(process.version, version)) {
  console.log(
    [
      `您当前的node版本与要求的node版本不符。您的node版本:[${process.version}], 项目node版本要求:[${version}]`
    ].join('\n')
  )
  process.exit(1)
} else {
  console.log(`node版本符合要求`)
}

// 获取要求的pnpm版本
version = engines.pnpm

// 检查pnpm版本
const pnpmVersion = childProcess.execSync('pnpm -v').toString('utf8')
if (!semver.satisfies(pnpmVersion, version)) {
  console.log(
    [
      `您当前的pnpm版本与要求的pnpm版本不符。您的pnpm版本:[${pnpmVersion}], 项目pnpm版本要求:[${version}]`
    ].join('\n')
  )
  process.exit(1)
} else {
  console.log(`pnpm版本符合要求`)
}
